home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d6 / glazer.arc / CHARGEHI.BAS < prev    next >
BASIC Source File  |  1988-10-07  |  2KB  |  62 lines

  1. 100 'Charge History ("CHARGEHIST")
  2. 110 CLS
  3. 120 COLOR 0,15 : PRINT "Charge Account History" : COLOR 15,0
  4. 130 DEFDBL A-Z
  5. 140 MONEYFMT$ = "$$##,###,###.##"
  6. 150 'Define rounding function
  7. 160 DEF FNR (V) = SGN (V) * INT (ABS (V) * 100 + .5) / 100
  8. 170 '     Let user enter data
  9. 180 PRINT : PRINT
  10. 190 PRINT "Do not enter dollar signs or commas"
  11. 200 PRINT
  12. 210 INPUT "Credit limit: ", CREDITLIMIT
  13. 220 INPUT "Initial balance: ", BALANCE
  14. 230 INPUT "Monthly purchases: ",  PURCHASES
  15. 240 INPUT "Annual interest charge (in percent): ", CR
  16. 250 INPUT "Monthly payment (as percentage of balance): ", RPMT
  17. 260 INPUT "Minimum monthly payment: ", MINPMT
  18. 270 PRINT "Enter date of first payment"
  19. 280 INPUT "  Month (1-12): ", MONTH
  20. 290 INPUT "  Year: ", YEAR
  21. 300 '      Initialize variables
  22. 310 TOTALPURCHASES = 0
  23. 320 TOTALPAYMENTS = 0
  24. 330 TOTALINTEREST = 0
  25. 340 CREDITAVAIL = CREDITLIMIT - BALANCE
  26. 360 M = 0
  27. 370 MONTHNUM = YEAR * 12 + MONTH
  28. 380 PRINT
  29. 390 PRINT "Press space bar to continue"
  30. 400 '      Compute monthly balances
  31. 410 WHILE CREDITAVAIL > 0
  32. 420   K$ = INKEY$ : IF K$ = ""  THEN GOTO 420
  33. 430   M = M + 1
  34. 440   YEAR = (MONTHNUM - 1) \ 12
  35. 450   MONTH = MONTHNUM - YEAR * 12
  36. 460   MONTHNUM = MONTHNUM + 1
  37. 470   '    Calculate month's payments
  38. 480   BALANCE = BALANCE + PURCHASES
  39. 490   INTERESTDUE = FNR (BALANCE * CR / 1200)
  40. 500   PMT = INT (BALANCE * RPMT + .5) / 100
  41. 510   IF PMT < MINPMT  THEN PMT = MINPMT
  42. 520   IF PMT > BALANCE + INTERESTDUE  THEN PMT = BALANCE + INTERESTDUE
  43. 530   BALANCE = FNR (BALANCE - PMT + INTERESTDUE)
  44. 540   '    Compute cumulative totals
  45. 550   TOTALPURCHASES = TOTALPURCHASES + PURCHASES
  46. 560   TOTALPAYMENTS = TOTALPAYMENTS + PMT
  47. 570   TOTALINTEREST = TOTALINTEREST + INTERESTDUE
  48. 580   CREDITAVAIL = CREDITLIMIT - BALANCE
  49. 590   '    Print results
  50. 600   PRINT : PRINT
  51. 610   PRINT "Payment number: "; M
  52. 620   PRINT "Date: "; MONTH; "/"; YEAR
  53. 630   PRINT "Credit available: "; TAB(30); USING MONEYFMT$; CREDITAVAIL
  54. 640   PRINT "New balance: "; TAB(30); USING MONEYFMT$; BALANCE
  55. 650   PRINT "Total purchases: "; TAB(30); USING MONEYFMT$; TOTALPURCHASES
  56. 660   PRINT "Payment: "; TAB(30); USING MONEYFMT$; PMT
  57. 670   PRINT "Finance charge: "; TAB(30); USING MONEYFMT$; INTERESTDUE
  58. 680   PRINT "Cumulative payments: "; TAB(30); USING MONEYFMT$; TOTALPAYMENTS
  59. 690   PRINT "Cumulative finance charges: "; TAB(30); USING MONEYFMT$;                        TOTALINTEREST
  60. 700 WEND
  61. 710 END
  62.